test(clients): bound transaction fixture child completion - #4004
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe transaction test fixture now bounds child execution, reports execution and output failures, aggregates cleanup errors, and verifies child termination plus temporary-home removal. ChangesTransaction fixture safety
Priority: ⬇️ Low — Impact reflects low issue severity. Estimated code review effort: 3 (Moderate) | ~20 minutes Severity of issue fixed: Low Merge Risk: 🟡 Moderate · up to This test-only change improves timeout and cleanup behavior, but the added regression tests may contain duplicate declarations that prevent the test module from compiling. Confirm or fix that issue before merging. Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
✅ Deterministic PR hygiene checks passed. |
✅ READY
Review readiness checklist
✅ 4/4 boxes ticked. This pull request has been marked Ready for Review. Hygiene✅ Deterministic PR hygiene checks passed. |
|
@coderabbitai full review Please review head |
|
✅ Action performedFull review finished. |
|
@coderabbitai The merge-risk summary's possible duplicate-declaration compilation issue is not present on reviewed head
The final committed test module was loaded and executed by pinned Bun 1.4.0 for all three new cases: 3 passed / 22 assertions. Loading it would fail before any case ran if there were duplicate lexical declarations. The full affected file had also passed 49 tests / 257 assertions before the subsequent type-only annotation and failure-cleanup refinement described in the PR. Please correct that summary claim if it refers to these declarations; an exact line pair would be needed to assess a different concern. The docstring-coverage warning is advisory and does not identify a behavior defect. No source change or redundant CI restart was made for either summary item. |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
printf '%s\n' '--- checked-out commit ---'
git rev-parse HEAD
printf '%s\n' '--- relevant test structure ---'
ast-grep outline tests/clients/client-connect.test.ts --items all --type function --view expanded || true
printf '%s\n' '--- lines 420-500 ---'
nl -ba tests/clients/client-connect.test.ts | sed -n '420,500p'Length of output: 1245 🏁 Script executed: #!/bin/bash
set -euo pipefail
sed -n '425,490p' tests/clients/client-connect.test.ts | awk 'BEGIN { line = 425 } { printf "%d\t%s\n", line++, $0 }'Length of output: 3685
In These declarations do not share a lexical scope. The duplicate-declaration compilation-risk claim is invalid and should not appear in the merge-risk summary. I do not have a different conflicting declaration pair to identify. The docstring-coverage item is advisory. It does not identify a behavior defect in this PR. 🐇 You are interacting with an AI system. |
리뷰 · 우선순위 62 / 80이 PR은 사용자 기능이 아니라 테스트 도우미를 고칩니다. 지금 같은 파일의 다만 PR이 아직 draft이고, 체크리스트에도 전체 CI·리뷰 준비가 덜 끝났다고 적혀 있습니다. 게이트 잡(hygiene/label/enforce-target)은 통과했지만, 전체 스위트가 초록인지가 이 머지의 마지막 문입니다. 작성자가 Windows에서 회귀 3개와 파일 전체(49 tests)를 돌렸다고 적은 점은 신뢰에 도움이 됩니다. “이 픽스처가 예전 macOS CI 취소의 원인이다”라고 주장하지 않은 것도 좋습니다. 원인 단정 없이 픽스처 안전만 고칩니다. 라인 근처(diff 기준) - 메인테이너의 판단이 필요한 지점
너의 추천 이 댓글은 grok-bot이 작성했습니다 |
Ingwannu
left a comment
There was a problem hiding this comment.
Reviewed exact head 9809dc4 against 402be7c. Approving this scoped test-only change.
The helper now rejects a timed-out/signalled/nonzero child before interpreting its JSON. Both temporary homes receive cleanup attempts, and cleanup failure preserves the original error. The new retained-child regression checks the typed timeout, exact child PID disappearance and both homes removed, rather than merely checking valid output. The existing success, catalog restoration and rollback assertions remain intact. The module-scope duplicate-declaration allegation was correctly withdrawn: these declarations belong to different callbacks.
I independently verified contributor CI run 34189808467, attempt 2: all 26 jobs succeeded at this exact head, including Windows/macOS/Linux. This updates the older draft/full-CI-pending assessment: the PR is now non-Draft. The original macOS attempt timed out later in a separate held-lock test; the successful unchanged-head retry is not proof that unrelated timeout is fixed. These are contributor CI results, not an upstream full-CI run.
Current dev 74f62f9 does not change this file, test-budget.ts or remove-tree.ts relative to the reviewed base. No product/runtime/workflow/default changes are included. Local contributor execution was not performed because a credential-free, network-isolated sandbox is unavailable here.
Risk assessment: low impact and likelihood, strong relevant regression protection, easy revert, moderate confidence; human-controlled merge only. This approval does not merge the PR or waive repository checks/Go-line tracking obligations.
|
Correction to the last paragraph of my approval: current dev MAINTAINERS.md has retired the dev2-go line and its carry obligation. My reference to Go-line tracking was based on the stale local checkout policy and should be disregarded. There is no Go-port requirement for this PR. The exact-head test review and CI evidence are unchanged; no merge was performed. |
* test(lib): make idle deadline reset timing deterministic Carried from #4041 (author luvs01) for maintainer-side CI and sequential integration. Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com> * test: stabilize Windows fixture waits and case cleanup Carried from #4015 (author luvs01) for maintainer-side CI and sequential integration. Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com> * test(codex): verify timeout termination without racing child timers Carried from #4012 (author luvs01) for maintainer-side CI and sequential integration. Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com> * test(codex): hold prompt-probe admission through document edits Carried from #4014 (author luvs01) for maintainer-side CI and sequential integration. Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com> * test(clients): bound transaction fixture child completion Carried from #4004 (author luvs01) for maintainer-side CI and sequential integration. Closes #4003 Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com> * fix(codex): retain overlapping multiline TOML terminators Carried from #4039 (author luvs01) for maintainer-side CI and sequential integration. Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com> * fix(cli): reject unsupported caps and report ignored legacy values Carried from #4043 (author luvs01) for maintainer-side CI and sequential integration. Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com> * fix(codex): share trigger-only delegation guidance with v1 Carried from #4034 (author luvs01) for maintainer-side CI and sequential integration. Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com> * fix(codex): preserve settings when journal injection hashes are missing Carried from #4006 (author luvs01) for maintainer-side CI and sequential integration. Closes #4005 Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com> * docs(cli): note that --injection still accepts none and minimal CodeRabbit review on #4049: the effort reference documents caps only, so the new rejection of none/minimal reads as a global removal. --injection keeps both values because it sets the injection effort rather than a cap. --------- Co-authored-by: t <a@b.com> Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com>
|
Landed on Verification at the exact merged head Closing this PR because the change is already on |
Summary
Closes #4003.
The client transaction fixture can keep a worker blocked after its child prints valid JSON because its synchronous spawn has no deadline. Bound that child with the existing 15-second internal budget and
SIGKILL; reject spawn errors, nonzero exits and signals before parsing output. Clean both temporary homes on process or parse failure, preserving the original failure if cleanup also fails.Only
tests/clients/client-connect.test.tschanges. Existing transaction, rollback and stderr assertions remain. This is a direct-child fixture bound, not a claim that this helper caused the earlier macOS CI cancellation or that all descendant-pipe lifecycle problems are resolved.Verification
Head
9809dc4d62ab78626674f05a2a428ec303ed43f3, based ondev402be7c1f88283eb8465c3aec8437ccecd2542ec.bun run typecheck,bun run privacy:scan, andgit diff --checkpass.Checklist
Review readiness checklist
Summary by CodeRabbit